package com.libinyn.base.pms.serivce.sys;


import com.libinyn.base.pms.entity.sys.SysMenuEntity;
import com.libinyn.base.pms.serivce.BaseService;

import java.util.List;



/**
 * 菜单管理
 * @fileName: SysMenuService.java
 * @author: bin.li01
 * @date: 2017/12/13 21:59 
 * @version: v1.0.0
 */
public interface SysMenuService  extends BaseService<SysMenuEntity> {

	/**
	 * 根据父菜单，查询子菜单
	 * @param parentId
	 * @param menuIdList
	 * @return
	 */
	List<SysMenuEntity> queryListParentId(Long parentId, List<Long> menuIdList);

	/**
	 * 根据父菜单，查询子菜单
	 * @param parentId
	 * @return
	 */
	List<SysMenuEntity> queryListParentId(Long parentId);

	/**
	 * 获取不包含按钮的菜单列表
	 * @return
	 */
	List<SysMenuEntity> queryNotButtonList();

	/**
	 * 获取用户菜单列表
	 * @param userId
	 * @return
	 */
	List<SysMenuEntity> getUserMenuList(Long userId);


	/**
	 * 批量删除
	 * @param menuIds
	 */
	void deleteBatch(Long[] menuIds);

	/**
	 * 查询用户的权限列表
	 * @param userId
	 * @return
	 */
	List<SysMenuEntity> queryUserList(Long userId);
}
